home *** CD-ROM | disk | FTP | other *** search
/ Programming Sound Cards / Programming Sound Cards.iso / sound_14 / blaster.doc < prev    next >
Text File  |  1995-01-01  |  5KB  |  158 lines

  1. /*
  2.  
  3.             Turbo C Blaster Interface
  4.  
  5.             by Shawn Leaf & Joel Lucsy
  6.  
  7.            Vroom-Diggy-Diggy Software, (c) 1991
  8.  
  9.  
  10. Defined Macros:
  11.  
  12.      SBOK        Return value indicating success for some functions.
  13.      SBON        For speaker switch:  sets speaker on.
  14.      SBOFF        For speaker switch:  sets speaker off.
  15.  
  16.  
  17. Types Defined:
  18.  
  19.      sbvoc_type          Voice file type.  This is a pointer--load voice file
  20.             will do the memory allocation.
  21.      status_type    Variable used to keep track of record & playback
  22.             status.
  23.  
  24.  
  25. Functions Defined For Driver:
  26.  
  27.      int load_drv(void)
  28.     -Loads CT-VOICE.DRV.
  29.     -Uses the SOUND environment variable if found.
  30.     -Returns SBOK on success.
  31.  
  32.  
  33.      int load_snd(char *filename;sbvoc_type *sound_file)
  34.     -Loads voc file named filename and points sound_block to it.
  35.     -Takes care of memory allocation.
  36.     -Returns SBOK on success.
  37.  
  38.  
  39.      int save_snd(char *filename;sbvoc_type sound_file)
  40.         -Saves to a voc file named filename. Automagically creates a header.
  41.         -Returns SBOK on success.
  42.  
  43.  
  44.      int alloc_snd(sbvoc_type *sound_file;unsigned long size)
  45.         -Allocates enough memory for sound and extra for a header.
  46.         -Sound_file will contain the new address for the sound if successful.
  47.         -Returns SBOK on success.
  48.  
  49.  
  50.      void get_vers(void)
  51.     -Returns version number:  high byte=major number, low byte=minor.
  52.  
  53.  
  54.      void set_base_io(int base_adr)
  55.     -Sets base I/O address used by driver.
  56.     -Legal addresses are 0x210, 0x220, 0x230, 0x240, 0x260, and 0x260.
  57.     -Use before init_driver()
  58.  
  59.  
  60.      void set_interrupt_num(int number)
  61.     -Sets the interrupt number used by the driver during DMA.
  62.     -Interrupts available:  2, 3, 5, and 7.
  63.     -Use before init_driver()
  64.  
  65.  
  66.      int init_drv(void)
  67.     -Initializes Sound Blaster card.
  68.     -Returns SBOK on success.
  69.     -Error conditions:  1 - Voice Card Fails
  70.                 2 - I/O Read/Write Fails
  71.                 3 - Interrupt or DMA Fails
  72.  
  73.  
  74.      void set_speaker(void)
  75.     -Sets speaker's connection to the DAC on (SBON) or off (SBOFF).
  76.        -Init_driver turns speaker on.
  77.        -Turn speaker off on exit of application.
  78.        -Turn speaker off to record or recording will output while being
  79.         digitized.
  80.  
  81.  
  82.      void set_status(status_type *mem_loc)
  83.     -Causes the driver to store the status of the card in variable
  84.      passed.
  85.     -Note, the variable should be passed with the & operator.
  86.     -Must be set before output_snd is called.
  87.  
  88.  
  89.      void play_snd(sbvoc_type sound_file)
  90.     -Outputs the sound file to the speaker using DMA.
  91.     -The status variable contains 0 when output is complete.
  92.        -Status is also updated to value of any markers in the file.
  93.     -Output_snd and Record_snd should not be called until current sound
  94.      has stopped or has been stopped.
  95.  
  96.  
  97.      void record_snd(sbvoc_type sound_file;int sampling_rate,length)
  98.     -Begins sampling & storing in sound_file.
  99.     -Does not allocate memory for sound.
  100.     -Status word will become a 0 when sound_file is full or sampling is
  101.      stopped with stop_snd
  102.  
  103.  
  104.      void stop_snd(void)
  105.     -Terminates any voice I/O process.
  106.  
  107.  
  108.      void uninstall(void)
  109.     -Sets Sound Blaster to its normal condition and disconnects DAC from
  110.      speaker.
  111.     -Deallocates the driver's memory.
  112.  
  113.  
  114.      int pause_snd(void)
  115.     -Pauses sound output.
  116.     -Returns SBOK if successful, otherwise a sound wasn't playing.
  117.     -Status variable will remain non-zero in paused state.
  118.  
  119.  
  120.      int cont_snd(void)
  121.     -Continues paused output.
  122.     -Returns SBOK on success.
  123.  
  124.  
  125.      int brk_repeat(int mode)
  126.     -Breaks out of repeating voice blocks.
  127.     -Mode=1:  current round is stopped immediately and voice continues
  128.           with next block.
  129.     -Mode=0:  current round is not stopped, but when it completes, voice
  130.           continues with next block.
  131.  
  132.  
  133.      void unload_snd(sbvoc_type sound_file)
  134.     -Deallocates memory for sound_file
  135.  
  136.  
  137. Environment Variable:
  138.         The newer release of the Sound Blaster (v1.5) has included an
  139.         option to set up an environment variable to locate the CT-VOICE.DRV
  140.         file so that it would not be needed all over one's hard drive in
  141.         whatever directory you needed it in.  This environment variable would
  142.         look something like this:
  143.                 SOUND=C:\SB
  144.         The actual driver would then be in a DRV directory underneath the SB
  145.         directory.  The directory structure would look something like:
  146.                 \
  147.                 └─SB
  148.                   └──DRV
  149.         Current releases of their software take advantage of this feature,
  150.         as do we!  All one needs is to include a line in your autoexec to
  151.         set up the environment variable.  Older software that has no idea
  152.         there is an environment variable still needs the extra copies of
  153.         the driver in their directory, but with the variable the need for
  154.         extra copies is greatly reduced.
  155.  
  156.        ** Sound Blaster is a copyright of Creative Labs, Inc. **
  157. */
  158.